Kerosakan logical Pemulihan_data

Lebih biasa berbanding kerosakan fizikal adalah kerosakan kepada sistem fail. Kerosakan logikal kebiasaannya disebabkan oleh gangguan kuasa yang mengakibatkan struktur sistem fail ditulis dengan lengkap kepada media storan, tetapi masaalah dengan perkakasan (terutamanya pengatur (controllers)cakera murah sejajar berganda (redundant array of inexpensive disks) (RAID) dan pemandu, juga kegagalan sistem, mampu menyebabkan masalaah yang sama. Hasilnya sistem fail berada dalam keadaan tidak menentu. Ini boleh menyebabkan pelbagai masaalah, seperti tingkah-laku pelik (contohnya., direktori infinitely recursing directories, pemandu melapurkan jumlah ruang kosong sebagai negetif), sistem gagal, atau kehilangan data. Pelbagai program tersedia bagi memperbaiki masaalah ini, dan kebanyakan sistem operasi mempunyai perkakasan memperbaiki asas bagi sistem fail tempatan mereka. Linux, sebagai contoh, mempunyai kemudahan fsck, dan Microsoft Windows membekalkan chkdsk. Utiliti pihak ketiga juga ada, dan sesetengah mampu memberikan hasil lebih baikdengan memulih data walaupun cakera tidak dapat dibaca oleh utiliti pemulih sistem operasi.

Dua teknik utama digunakan bagi aturcara pembaiki ini. Yang pertama, memeriksa ketetapan consistency checking, membabitkan meninjau struktur logik cakera dan memeriksa bagi memastikan ia tepat dengan spesifikasinya. Sebagai contoh, dalam kebanyakan sistem fail, direktori harus mempunyai dua daftar: daftar titik (.) yang menunjukkan kepada diri sendiri, dan daftar titik-titik (..) yang menunjukkan direktori ibu. Aturcara pemulih sistem fail akan membaca setiap direktori dan memastikan bahawa setiap daftar wujud dan menunjukkan kepada direktori yang betul. Sekiranya tidak, perutusan ralat boleh dicetak dan masaalah diperbaiki. Kedua-dua chkdsk dan fsck melakukan ini. Bagaimanapun, strategi ini mempunyai masaalah utama; sekiranya sistem fail rosak teruk, pemeriksaan ketetapan akan gagal sepenuhnya. Dalam kes ini, aturcara pemulih akan gagal ketika cuba mengendalikan output yang rosak, atau ia langsung gagal mengenali pemacu yang memiliki sistem fail yang sah.

Teknik kedua untuk memulih sistem fail adalah untuk mengabaikan keadaan sistem fail yang diperiksa dan menggunakan sebarang petunjuk yang struktur fail yang tidak rosak, membina semula sistem fail dari awal. Strategi ini membabitkan meninjau keseluruhan cakera dan mengambil kira semua struktur fail dan kemungkinan sempadan fail, dan kemudiannya cuba memadankan apa yang ada pada spesifikasi sistem fail yang elok. Sesetengan pihak ketiga menggunakan teknik ini, yang lebih perlahan berbanding pemeriksaan ketetapan (consistency checking). Ia bagaimanapun mampu memulihkan data walaupun struktur logikal hampir rosak sepenuhnya. Teknik ini biasanya tidak memperbaiki sistem fail asas, tetapi sekadar membenarkan data dikeluarkan dan disalin kepada peranti storan lain.

Sementara kebanyakan kerosakan logikal boleh diperbaiki atau dielak dengan menggunakan dua teknik ini, aturcara pulih data tidak dapat menjamin tiada kehilangan data akan berlaku. Sebagai contoh, sekiranya jadual pembahagian fail rosak, apabila dua fail mendakwa berkongsi unit ditetapkan yang sama ("cross-linked"), kehilangan data bagi salah satu fail hampir pasti.

Penggunaan journaling file systems lebih meluas, seperti NTFS 5.0, ext3, dan xfs, berkemungkinan mengurangkan kejadian kerosakan logikal. Sistem fail ini hampir sentiasa boleh "golek belakang - rolled back" kepada keadaan tetap, yang bererti data yang hilang hanyalah yang ada dalam imbalan pemacu pada masa kegagalan sistem. Bagaimanapun, penyelenggaraan sistem secara tetap regular system maintenance masih memerlukan penggunaan pemeriksa ketetapan untuk kes jurnal sistem fail itu sendiri rosak.